package com.zsc.wxm.ysh.anjo.house.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zsc.wxm.ysh.anjo.house.model.ViewRequest;
import com.zsc.wxm.ysh.anjo.result.PageResult;
import com.zsc.wxm.ysh.anjo.result.Result;
import com.zsc.wxm.ysh.anjo.service.base.model.member.dto.ViewRequestDTO;
import com.zsc.wxm.ysh.anjo.service.base.model.resources.qo.ViewRequestQuery;
import com.zsc.wxm.ysh.anjo.service.base.model.resources.vo.ViewRequestNoticeVO;
import com.zsc.wxm.ysh.anjo.service.base.model.resources.vo.ViewRequestVO;

import java.util.List;

/**
 * 描述：
 *
 * @author playmaker
 * @since 2021/2/19 22:53
 */
public interface ViewRequestService extends IService<ViewRequest> {

    /**
     * 新增租房请求
     *
     * @param params
     */
    void add(ViewRequestDTO params);

    /**
     * 分页查询
     *
     * @param query
     * @return
     */
    PageResult listPage(ViewRequestQuery query);

    /**
     * 修改请求状态
     *
     * @param id
     * @param status
     * @param userId
     */
    void updateStatus(Long id, int status, Long userId);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    Result deleteRequest(Long id);

    /**
     * 详情
     *
     * @param id
     * @return
     */
    ViewRequestVO viewRequestDetails(Long id);


    /**
     * 获取房东的看房请求通知
     *
     * @param userId
     * @return
     */
    List<ViewRequestNoticeVO> getRequestNotice(Long userId);


    /**
     * 获取租客的看房通知
     *
     * @param rentUserId
     * @return
     */
    List<ViewRequestNoticeVO> getRentUserNotice(Long rentUserId);



}
